Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FE: Add Search Functionality to ACLs page #636

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

polegkashti
Copy link
Contributor

@polegkashti polegkashti commented Oct 26, 2024

  • Breaking change? (if so, please describe the impact and migration path for existing application instances)
    No breaking changes.

What changes did you make? (Give an overview)
This PR introduces a search functionality in ACLs page that allows users to search by principal name. This feature was developed to improve the debugging process for users managing clusters with numerous ACLs, especially when clients encounter "authorization failed" errors. And in general this feature enables users to quickly locate specific ACL entries, saving time and making the debugging experience more efficient and user friendly.

Is there anything you'd like reviewers to focus on?
No. There are not many changes :)

How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

  • No need to
  • Manually (please, describe, if necessary)
  • Unit checks
  • Integration checks
  • Covered by existing automation

This feature has been tested and deployed on production clustres with many acls and it works great :)

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
  • My changes generate no new warnings (e.g. Sonar is happy)
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged

Check out Contributing and Code of Conduct
A visualization of the new feature:
https://github.com/user-attachments/assets/4b591910-3f4c-401d-9809-fcf9b0b129a0

A picture of a cute animal (not mandatory but encouraged)
5d1837de1884424e8623b11cfab26de4

@polegkashti polegkashti requested review from a team as code owners October 26, 2024 16:48
@kapybro kapybro bot added status/triage Issues pending maintainers triage status/triage/manual Manual triage in progress status/triage/completed Automatic triage completed and removed status/triage Issues pending maintainers triage labels Oct 26, 2024
@polegkashti polegkashti changed the title Closes #621 FE: Add Search Functionality to ACLs page Oct 26, 2024
@polegkashti
Copy link
Contributor Author

Hi @Haarolean, just following up on my pull request to see if there are any updates or feedback. :)

@fallen-up
Copy link

can confirm that the principal search is working:
image

but it's still not enough)

@polegkashti
Copy link
Contributor Author

Thanks dude! Why not enough? I believe limiting the search to 'principal name' makes sense for the intended use cases, such as quickly verifying whether a specific user is authorized or diagnosing authorization issues tied to a particular principal. Once filtered by principal name, users can further refine results by sorting by operation, for example. We’ve successfully deployed this functionality across hundreds of our clusters, and the feedback from clients has been extremely positive.

@fallen-up
Copy link

@polegkashti kafka/strimzi admin can already easily check acl by manifests for example.
i think this functionality is needed more for developers and users of given kafkausers. they don't always know the exact names of their principals.
that's why pattern search is also very important. they can find a topic and see who has access to it.

@Haarolean
Copy link
Member

I don't mind expanding the search further, but we can do this in a separate issue, after a thorough analysis. @fallen-up would you mind raising a new issue describing the functionality you're interested in?

@Haarolean Haarolean added scope/frontend Related to frontend changes scope/backend Related to backend changes area/acl type/enhancement En enhancement/improvement to an already existing feature and removed status/triage/manual Manual triage in progress labels Dec 9, 2024
@Haarolean Haarolean requested a review from a team December 9, 2024 16:52
@Haarolean
Copy link
Member

@polegkashti thanks for attaching the gif :)

@fallen-up
Copy link

@Haarolean +

@polegkashti
Copy link
Contributor Author

@Haarolean Thanks for your approval. I appricate your work!

@Haarolean Haarolean added this to the 1.1 milestone Dec 10, 2024
@@ -36,6 +41,11 @@ const ACList: React.FC = () => {
} = useBoolean();
const [rowId, setRowId] = React.useState('');

// Set the search params to the url based on the localStorage value
useEffect(() => {
setSearch(searchParams.get('q') || '');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you please elaborate on what's happening here? I don't quite grasp the relation to local storage here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/acl scope/backend Related to backend changes scope/frontend Related to frontend changes status/triage/completed Automatic triage completed type/enhancement En enhancement/improvement to an already existing feature
Projects
Status: Changes requested
Development

Successfully merging this pull request may close these issues.

3 participants